package com.ygq.exportdbstructure.service;

import com.ygq.exportdbstructure.model.DataSource;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

/**
 * @author emc
 * @version 1.0
 * createTime 2025-10-29
 * description 导出数据库接口
 */
public interface ExportDBService {


    /**
     * 获取数据库连接
     * @param dataSource 数据库连接信息
     * @return 数据库连接
     */
    Connection getDBConnection(DataSource dataSource);


    /**
     * 获取表结构
     * @param connection 数据库连接
     * @param schema 数据库模式
     * @param tableName 表名
     * @return 表结构
     */
    List<Map<String, Object>> getTableStructure(Connection connection, String schema, String tableName) throws SQLException;

    /**
     * 获取表结构信息
     * @param dataSource 数据源
     * @return 表结构信息
     */
    byte[] getTableStructureExcel(DataSource dataSource);
}
